package com.xnx3.net;

import java.io.UnsupportedEncodingException;

import com.xnx3.BaseVO;
import com.xnx3.ConfigManagerUtil;
import com.xnx3.Lang;
import com.xnx3.MD5Util;

/**
 * 发送手机短信
 * <br/><b>需配置src下的systemConfig.xml文件的sms节点</b>
 * <br/>使用：
 * <pre>
 * 		SMSUtil.send("17076012262", "这里是发送信息的内容")
 * </pre>
 * 发送短信若失败，会继续执行发送。连续发送三次，若都失败，返回失败原因。
 * <br/><b/>需</b>
 * <br/><i>commons-configuration-1.7.jar</i>
 * <br/><i>commons-collections-3.2.1.jar</i>
 * <br/><i>commons-io-1.3.2.jar</i>
 * <br/><i>commons-lang-2.5.jar</i>
 * <br/><i>commons-logging-1.2.jar</i>
 * <br/>短信平台开通联系QQ:921153866
 * @author 管雷鸣
 * @deprecated 使用 xnx3-util 中的 com.xnx3.SMSUtil
 *
 */
public class SMSUtil {
	private static String uid="80...";				//用户ID
	private static String requestIp = "210.5.158.31";	//api请求的ip地址
	private static String passwordMd5;			//MD5加密后的代码＋密码
	private static String password;
	
	static{
		uid = ConfigManagerUtil.getSingleton("xnx3Config.xml").getValue("sms.uid");
		String companyCode = ConfigManagerUtil.getSingleton("xnx3Config.xml").getValue("sms.companyCode");
		password = ConfigManagerUtil.getSingleton("xnx3Config.xml").getValue("sms.password");
		passwordMd5 = MD5Util.MD5(companyCode+password);
		requestIp = ConfigManagerUtil.getSingleton("xnx3Config.xml").getValue("sms.requestIp");
	}
	
	public static void main(String[] args) {
		System.out.println(SMSUtil.send("17076012262", "testa"));
	}
	
	/**
	 * 发送短信
	 * @param phone 发送到的手机号
	 * @param content 发送内容，编码为UTF－8编码，70个文字以内，超过70个字会发送多条信息
	 * @return String <li>返回空字符null，为发送成功
	 * 				  <li>返回字符串，非null，则发送失败，返回出错信息
	 */
	public static String send(String phone,String content){
		com.xnx3.SMSUtil sms = new com.xnx3.SMSUtil(Lang.stringToInt(uid, 0), password);
		BaseVO vo = sms.send(phone, content);
		if(vo.getResult() - BaseVO.FAILURE == 0) {
			return vo.getInfo();
		}else {
			return null;
		}
	}
	
}